package train48days;

import java.util.Scanner;

public class 蘑菇阵 {
    public  static double sover(int[][] map,int n,int m){
        double[][] dp= new double[n+1][m+1];
        dp[1][1] = 1.0;
        for (int i = 1; i < n+1; i++) {
            for (int j = 1; j < m+1; j++) {
                if (!(i==1&&j==1)){
                    dp[i][j] = dp[i-1][j]*(j==m? 1.0:0.5)+dp[i][j-1]*(i==n? 1.0:0.5);
                }
                if (map[i][j] == 1){
                    dp[i][j] =0;
                }
            }
        }
        return dp[n][m];
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            int n =sc.nextInt();
            int m =sc.nextInt();
            int[][] map = new int[n+1][m+1];

            int k = sc.nextInt();
            while (k!=0){
                int x = sc.nextInt();
                int y = sc.nextInt();
                map[x][y]=1;
                k--;
            }
            System.out.printf("%.2f/n",sover(map,n,m));
        }
    }
}
